.banner {
  position: relative;
  width: 100%;
  margin-bottom: 20px;
  padding-top: 29.11%;
  overflow: hidden;
  border-radius: 12px;

  .bannermask {
    position: absolute;
    top: 0;
    right: -10px;
    z-index: 2;
    width: 520px;
    height: 100%;
    background: linear-gradient(270deg, #000 0%, rgba(9, 21, 39, 0) 100%);
    opacity: 0.8;
    pointer-events: none;
  }

  .bannerinfo {
    position: absolute;
    top: 50%;
    right: 40px;
    z-index: 3;
    transform: translateY(-50%);

    .item {
      min-width: 337px;
      margin: 24px 0;
      padding: 0 12px;
      text-align: right;
      cursor: pointer;
      &:last-child {
        margin-bottom: 0;
      }

      &:first-child {
        margin-top: 0;
      }

      @media screen and (max-width: 1280px) {
        & {
          margin: 12px 0;
        }
      }

      &.actived {
        margin: 0;
        padding: 10px 12px;
        overflow: hidden;
        background: linear-gradient(
          270deg,
          rgba(255, 255, 255, 0.2) 0%,
          rgba(255, 255, 255, 0) 100%
        );
        border-radius: 0 4px 4px 0;
        border-image: linear-gradient(270deg, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0)) 1 1;
        filter: blur(0);
        .title {
          color: rgba(255, 255, 255, 1);
          font-weight: 700;
          font-size: 16px;
        }
        .des {
          display: block;
        }
      }

      .title {
        color: rgba(255, 255, 255, 0.6);
        font-size: 14px;
        line-height: 22px;
      }

      .des {
        display: none;
        color: rgba(255, 255, 255, 0.7);
        font-size: 12px;
        line-height: 17px;
      }
    }
  }

  .leftarrow {
    position: absolute;
    top: 50%;
    left: 30px;
    width: 54px;
    height: 54px;
    background: url('~@/assets/pc/images/index/banner-arrow.png') no-repeat center / 100%;
    transform: translateY(-50%);
    cursor: pointer;

    &:hover {
      background: url('~@/assets/pc/images/index/banner-arrow_hover.png') no-repeat center / 100%;
      transform: translateY(-50%) rotate(-180deg);
    }
  }

  .rightarrow {
    position: absolute;
    top: 50%;
    right: 30px;
    width: 54px;
    height: 54px;
    background: url('~@/assets/pc/images/index/banner-arrow.png') no-repeat center / 100%;
    transform: translateY(-50%) rotate(-180deg);
    cursor: pointer;

    &:hover {
      background: url('~@/assets/pc/images/index/banner-arrow_hover.png') no-repeat center / 100%;
      transform: translateY(-50%);
    }
  }
}

.banneritem {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
  &.actived {
    z-index: 1;
    opacity: 1;
  }

  .img {
    width: 100%;
  }
}
.banner2 {
  position: relative;
  margin-bottom: 30px;
  // margin: 0 -16px;
  .item {
    height: 320px;
    padding: 0 8px;
    .content {
      height: 100%;
      img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 14px;
        cursor: pointer;
        transition: transform 0.4s;
      }
    }
  }
  .nextarrow,
  .prearrow {
    position: absolute;
    top: 50%;
    right: 24px;
    z-index: 2;
    width: 50px;
    height: 50px;
    background: url('~@/assets/pc/images/index/icon-banner-arrow-20241224.png') no-repeat center /
      100%;
    transform: translateY(-50%);
    cursor: pointer;
    opacity: 0.5;

    &:hover {
      opacity: 1;
    }
  }

  .nextarrow {
    left: 24px;
    transform: translateY(-50%) rotate(180deg);
  }
}

.column {
  margin-bottom: 50px;
  padding-right: 24px;

  .item {
    .ratio {
      width: 195px;
      height: 124px;
      margin: 0 auto;

      img {
        width: 100%;
        height: 100%;
        transform: scale(0.97);
        cursor: pointer;
        transition: transform 0.4s;
        &:hover {
          transform: scale(1);
        }
      }
    }
  }

  .nextarrow,
  .prearrow {
    position: absolute;
    top: 50px;
    right: -28px;
    width: 28px;
    height: 28px;
    background: url('~@/assets/pc/images/index/arrow.png') no-repeat center / 100%;
    cursor: pointer;

    &:hover {
      background-image: url('~@/assets/pc/images/index/arrow-hover.png');
    }
  }

  .nextarrow {
    top: 95px;
    transform: rotate(180deg);
  }
}

.row {
  display: flex;
  flex-wrap: wrap;

  .item {
    flex: 0 0 20%;
    margin-bottom: 20px;
    padding: 0 10px;

    .ratio {
      position: relative;
      padding-top: 56.25%;

      .img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
      }
    }
  }

  @media screen and (max-width: 1280px) {
    .item {
      flex: 0 0 25%;
    }
  }
}

.sections {
  padding: 30px;
  color: #fff;
  background-color: #15305c;
  border-radius: 12px 12px 0 0;

  .section {
    margin-bottom: 50px;
    :global {
      @media screen and (min-width: 2126px) {
        .cgjoy--course-item,
        .cgjoy--package-item {
          display: block !important;
          width: 16.6666%;
        }
      }
      @media screen and (max-width: 1820px) {
        .cgjoy--course-item,
        .cgjoy--package-item {
          width: 25%;
          &:nth-child(1n + 5) {
            display: none;
          }
        }
      }
    }
    &:last-child {
      margin-bottom: 0;
    }

    .header {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      margin-bottom: 16px;

      .title {
        display: flex;
        align-items: center;
        margin-bottom: 0;
        color: #fff;
        font-size: 24px;

        .icon {
          width: 34px;
          height: 34px;
          margin-right: 8px;
        }
      }

      .shuaxin {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 76px;
        height: 29px;
        color: #7688a5;
        font-size: 12px;
        background: #192c53;
        border: 1px solid #2b3e62;
        border-radius: 8px;
        cursor: pointer;

        .icon {
          width: 19px;
          height: 19px;
          margin-right: 4px;
        }

        &:hover {
          background: #2b3e62;
          border: 1px solid #2b3e62;
        }
      }
    }
  }
}

:global {
  .ant-carousel .slick-dots {
    display: none;
    margin: 0 !important;

    li button::before {
      display: none;
    }
  }
}
